button

Otázka od: pavel.sl@centrum.cz

7. 9. 2002 19:49

Zdravim,
 jeste mam jeden problem.Dynamicky si vytvorim tlacitko, ale
nevim, jak mu mam priradit metodu, ktera bude zpracovavat udalost
kliknuti na nej.
 Mam metodu
  procedure tdynbutt.clickbutton(Sender:tobject);

a nevim jak ji priradit.
Diky za radu
Pavel

--------------------
ZDARMA a RYCHLÉ zasílání SMS z www.posliSMS.cz


Odpovedá: Jan Sebelík

8. 9. 2002 19:20

Pokud ti rozumim, tak by to melo jit jednoduse takto:

T:=TButton.Create(self)
T.Left:=..., T.Top:=...
...
T.OnClick:=clickbutton;

Jenze procedura "clickbutton" byva zpravidla metoda formulare (delegacni
architektura).
Principialne by ale nemelo vadit, kdyz to bude jakakoli metoda objektu s
prislusnymi parametry. Objekt musi samozrejme existovat.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================
----------
> Odesílatel: pavel.sl@centrum.cz
> Komu: delphi-l@clexpert.cz
> Předmět: button
> Datum: 6. září 2002 23:09
>
> Zdravim,
> jeste mam jeden problem.Dynamicky si vytvorim tlacitko, ale
> nevim, jak mu mam priradit metodu, ktera bude zpracovavat udalost
> kliknuti na nej.
> Mam metodu
> procedure tdynbutt.clickbutton(Sender:tobject);
>
> a nevim jak ji priradit.
> Diky za radu
> Pavel
>
> --------------------
> ZDARMA a RYCHLÉ zasílání SMS z www.posliSMS.cz
>
>
>

Odpovedá: Roman Newman

8. 9. 2002 18:31

> Zdravim,
> jeste mam jeden problem.Dynamicky si vytvorim tlacitko, ale
> nevim, jak mu mam priradit metodu, ktera bude zpracovavat udalost
> kliknuti na nej.

Procedura obsluhy stlacenia tlacitka musi byt definovana v triede v ktorej
sa tlacitko dynamicky vytvara. Priklad:

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure MyButtonClick(Sender: TObject);
  end;
.
.
.
procedure TForm1.FormCreate(Sender: TObject);
Var MyButton:TButton;
begin
 MyButton:=TButton.Create(Application);
 MyButton.Parent:=Form1;
 MyButton.Caption:='Tlacitko';
 MyButton.Left:=10;
 MyButton.Top:=10;
 MyButton.OnClick:=MyButtonClick
end;

procedure TForm1.MyButtonClick(Sender: TObject);
begin
 {vlastna procedura}
end;

Roman Newman